package com.groupseven.backend.services;

import com.groupseven.backend.domain.Assessment.AssessmentItem;
import com.groupseven.backend.domain.Assessment.AssessmentPlan;
import com.groupseven.backend.domain.Assessment.AssessmentResult;

import java.util.Date;
import java.util.List;

public interface AssessmentService {
    /**
     * @Author 王志华
     * @return
     */
    List<AssessmentItem> getAllAssessmentItems();

    /**
     * @Author 王志华
     * @return
     */
    List<AssessmentPlan> getAllAssessmentPlans();

    /**
     * @Author 王志华
     * @param item
     * @return
     */
    int addItemForPlanByPlanid(AssessmentItem item);

    /**
     * @Author 王志华
     * @param item
     * @return
     */
    boolean checkAddForPlanItem(AssessmentItem item);

    /**
     * @Author 王志华
     * @param id
     * @return
     */
    int deleteAssessmentItemById(int id);

    /**
     * @Author 王志华
     * @param id
     * @return
     */
    int deleteAssessmentPlanById(int id);

    /**
     * @Author 王志华
     * @param item
     * @return
     */
    boolean updateAssessmentItem(AssessmentItem item);

    /**
     * @Author 王志华
     * @param Planid
     * @return
     */
    List<AssessmentItem> getItemsByPlanid(int Planid);

    List<AssessmentResult> getAssessmentScoreByPlanidAndStartTime(int Planid, Date StartTime);

    /**
     * @Author 王志华
     * @param Username
     * @param Planid
     * @return
     */
    AssessmentResult getAssessmentScoreByUsernameAndPlanid(String Username, int Planid);

    /**
     * @Author 王志华
     * @param Planid
     * @return
     */
    List<AssessmentResult> getAssessmentScoreByPlanid(int Planid);
}
